package com.ego.admin.util;

import cn.hutool.core.collection.CollectionUtil;
import com.ego.admin.po.SysRole;
import com.ego.common.constant.SystemConstant;
import com.ego.common.exception.GlobalException;

import java.util.List;

/**
 * @program: ego
 * @description: 角色工具类
 * @author: KamTang
 * @create: 2023-02-24 16:47
 **/
public class RoleUtil {
    /**
     * 检查权限是否越权
     */
    public static boolean checkPerms(SysRole role, List<Long> menuIdList) {
        if (CollectionUtil.isEmpty(menuIdList)) {
            return false;
        }
        // 如果不是超级管理员，则需要判断角色的权限是否超过自己的权限
        if (role.getCreateUserId() == SystemConstant.UserEnum.SUPER_ADMIN.getCode()) {
            return true;
        }
        // 判断是否越权
        return menuIdList.containsAll(role.getMenuIdList());
    }
}
